package com.shuda.business.monitor.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;

/**
 * 数据监控DTO类
 */
@Schema(name = "DataMonitorDTO", description = "数据监控DTO")
public class DataMonitorDTO {

    @Schema(description = "监控数据ID")
    private Long id;

    @Schema(description = "渠道ID")
    private String channelId;

    @Schema(description = "渠道名称")
    private String channelName;

    @Schema(description = "分发方案ID")
    private String schemeId;

    @Schema(description = "分发方案名称")
    private String schemeName;

    @Schema(description = "数据ID")
    private String dataId;

    @Schema(description = "数据内容")
    private String dataContent;

    @Schema(description = "处理状态(pending-待处理,processing-处理中,success-成功,failed-失败)")
    private String status;

    @Schema(description = "处理结果")
    private String processResult;

    @Schema(description = "异常信息")
    private String errorMessage;

    @Schema(description = "处理时间(毫秒)")
    private Long processingTime;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime processTime;

    /** 监控数据ID */
    public Long getId() { return id; }
    /** 设置监控数据ID */
    public void setId(Long id) { this.id = id; }

    /** 渠道ID */
    public String getChannelId() { return channelId; }
    /** 设置渠道ID */
    public void setChannelId(String channelId) { this.channelId = channelId; }

    /** 渠道名称 */
    public String getChannelName() { return channelName; }
    /** 设置渠道名称 */
    public void setChannelName(String channelName) { this.channelName = channelName; }

    /** 分发方案ID */
    public String getSchemeId() { return schemeId; }
    /** 设置分发方案ID */
    public void setSchemeId(String schemeId) { this.schemeId = schemeId; }

    /** 分发方案名称 */
    public String getSchemeName() { return schemeName; }
    /** 设置分发方案名称 */
    public void setSchemeName(String schemeName) { this.schemeName = schemeName; }

    /** 数据ID */
    public String getDataId() { return dataId; }
    /** 设置数据ID */
    public void setDataId(String dataId) { this.dataId = dataId; }

    /** 数据内容 */
    public String getDataContent() { return dataContent; }
    /** 设置数据内容 */
    public void setDataContent(String dataContent) { this.dataContent = dataContent; }

    /** 处理状态 */
    public String getStatus() { return status; }
    /** 设置处理状态 */
    public void setStatus(String status) { this.status = status; }

    /** 处理结果 */
    public String getProcessResult() { return processResult; }
    /** 设置处理结果 */
    public void setProcessResult(String processResult) { this.processResult = processResult; }

    /** 异常信息 */
    public String getErrorMessage() { return errorMessage; }
    /** 设置异常信息 */
    public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; }

    /** 处理时间 */
    public Long getProcessingTime() { return processingTime; }
    /** 设置处理时间 */
    public void setProcessingTime(Long processingTime) { this.processingTime = processingTime; }

    /** 创建时间 */
    public LocalDateTime getCreateTime() { return createTime; }
    /** 设置创建时间 */
    public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; }

    /** 处理时间 */
    public LocalDateTime getProcessTime() { return processTime; }
    /** 设置处理时间 */
    public void setProcessTime(LocalDateTime processTime) { this.processTime = processTime; }
}